/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package entity;

import java.io.Serializable;
import java.sql.Time;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;

/**
 *
 * @author Dao Thai Duy
 */
@Entity
public class TransactionsEntity implements Serializable {
    private static long serialVersionUID = 1L;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public static void setSerialVersionUID(long aSerialVersionUID) {
        serialVersionUID = aSerialVersionUID;
    }
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private Double amount;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date datePaid;
    private Time timePaid;
    private String paypalTransactionId;
    private String paypalCorrelationId;
    private String description;
    @ManyToOne
    private ReservationEntity reservation;
    @ManyToOne
    private TouristAccountEntity tourist;
    @OneToOne
    private PaymentManagementEntity paymentManagement;
    @ManyToOne 
    private StakeholderEntity stakeholder;

    //Added by Cong Dat
    @ManyToOne
    private PurchasedGrouponEntity purchasedGroupon;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Double getAmount() {
        return amount;
    }

    public void setAmount(Double amount) {
        this.amount = amount;
    }

    public Date getDatePaid() {
        return datePaid;
    }

    public void setDatePaid(Date datePaid) {
        this.datePaid = datePaid;
    }

    public Time getTimePaid() {
        return timePaid;
    }

    public void setTimePaid(Time timePaid) {
        this.timePaid = timePaid;
    }

    public ReservationEntity getReservation() {
        return reservation;
    }

    public void setReservation(ReservationEntity reservation) {
        this.reservation = reservation;
    }

    public TouristAccountEntity getTourist() {
        return tourist;
    }

    public void setTourist(TouristAccountEntity tourist) {
        this.tourist = tourist;
    }

    public PaymentManagementEntity getPaymentManagement() {
        return paymentManagement;
    }

    public void setPaymentManagement(PaymentManagementEntity paymentManagement) {
        this.paymentManagement = paymentManagement;
    }

    public StakeholderEntity getStakeholder() {
        return stakeholder;
    }

    public void setStakeholder(StakeholderEntity stakeholder) {
        this.stakeholder = stakeholder;
    }
    
    public String getPaypalTransactionId() {
        return paypalTransactionId;
    }

    public void setPaypalTransactionId(String paypalTransactionId) {
        this.paypalTransactionId = paypalTransactionId;
    }

    public String getPaypalCorrelationId() {
        return paypalCorrelationId;
    }

    public void setPaypalCorrelationId(String paypalCorrelationId) {
        this.paypalCorrelationId = paypalCorrelationId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public PurchasedGrouponEntity getPurchasedGroupon() {
        return purchasedGroupon;
    }

    public void setPurchasedGroupon(PurchasedGrouponEntity purchasedGroupon) {
        this.purchasedGroupon = purchasedGroupon;
    }
}
